import java.util.*;

public class YangHui {
    /**
     * 杨辉三角
     */
    public static List<List<Integer>> generate(int nums){
        List<List<Integer>> triangle = new ArrayList<>();
        List<Integer> row = new ArrayList<>();

        for(int i = 0; i < nums; i++){
            // 每一行的第一个和最后一个元素为1
            row.add(0, 1);
            for(int j = 1; j < row.size() - 1; j++){
                // 计算当前位置的值，等于上一行对应位置的值与前一个位置的值之和
                row.set(j, row.get(j) + row.get(j + 1));
            }
            triangle.add(new ArrayList<>(row));
        }

        return triangle;
    }

    public static void main(String[] args) {
        int n=5;
        List<List<Integer>> tr=generate(n);
        System.out.println("杨辉三角：" + tr);
    }
}
